package com.zb.vo;

import com.zb.utils.VerificUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.util.List;

/**
 * @Author WEN
 * @Date 2023/10/20 0020
 **/
@Data
@ApiModel("服务商人员对象")
public class NetworkEmpVo {
    @ApiModelProperty(value = "服务商人员ID，新增不必传，修改必传")
    private Long id;

    @ApiModelProperty(value = "账号ID", example = "0")
    private Long accountId;

    @NotBlank(message = "登录用户名不能为空")
    @Length(max = 100, message = "登录用户名长度限制 100 个字符")
    @ApiModelProperty(value = "登录用户名", required = true)
    private String accountUserName;

    @NotBlank(message = "登录手机号不能为空")
    @Pattern(regexp = VerificUtil.REGEX_PHONE, message = "手机号格式错误")
    @ApiModelProperty(value = "登录手机号", required = true)
    private String accountUserPhone;

    @ApiModelProperty(value = "工程师自动接单策略：false-手动确认，true-自动确认", example = "true")
    private Boolean autoSureReceiveOrder;

    @NotNull(message = "管理权限不能为空")
    @ApiModelProperty(value = "管理权限：false-普通管理员，true-超级管理员", required = true, example = "false")
    private Boolean superManager;

    @NotNull(message = "在职状态不能为空")
    @ApiModelProperty(value = "在职状态：false-在职，true-离职", required = true, example = "false")
    private Boolean quit;

    @ApiModelProperty(value = "等级ID")
    private Long networkEmpLevelId;

    @ApiModelProperty(value = "服务商ID")
    private Long networkId;

    @ApiModelProperty(value = "工程师技能ID")
    private List<Long> networkEmpSkillIds;

    @ApiModelProperty(value = "删除的服务商ID")
    private List<Long> delNetworkIds;

    @Valid
    @ApiModelProperty(value = "工程师自定义字段值对象")
    private List<NetworkFieldValVo> fieldVals;

    @ApiModelProperty(value = "手动更改等级:true表示更改，false不更改")
    private Boolean manualLevel;
}
